package cn.bdqn.mapper;

import cn.bdqn.domain.User;

import java.util.List;

/**
 * 机构用户接口
 * @author dkj
 */
public interface UserMapper {

    /**
     * 根据id删除
     * @param id
     */
    void deleteByPrimaryKey(Integer id);

    /**
     * 根据机构删除 该机构的所有角色
     * @param groupId
     */
    void deleteByGroupId(Integer groupId);

    /**
     * 新增
     * @param record
     */
    void insert(User record);

    /**
     * 选择添加
     * @param record
     */
    void insertSelective(User record);

    /**
     * 根据id查询
     * @param id
     * @return
     */
    User selectByPrimaryKey(Integer id);

    /**
     * 更新
     * @param record
     */
    void updateByPrimaryKeySelective(User record);

    /**
     * 更新
     * @param record
     */
    void updateByPrimaryKey(User record);

    /**
     * 根据指定的信息查询用户  电话，密码，机构
     * @param user
     * @return
     */
    User selectByPhoneAndPwdAndGroup(User user);

    /**
     * 根据电话号查询
     * @param phone
     * @return
     */
    User selectByPhone(String phone);

    /**
     * 根据邮箱查询
     * @param email
     * @return
     */
    User selectByEmail(String email);

    /**
     * 查询机构下的所有角色
     * @param groupId
     * @return
     */
    List<User> selectUsersByGroupId(Integer groupId);

    /**
     * 查询全部未禁用的用户
     * @return
     */
    List<User> selectAll();
}
